Я понял, что проблема была в каталоге поставщика в папке шрифтов, я считаю, что Heroku по какой-то причине игнорирует эту папку (поставщик),
Путь fonts/vendor/semantic-ui-css/themes/default
создается автоматически mix Итак, что я делаю, так это изменяю файл webpack-rules.js
, помещенный в node_modules\laravel-mix\src\builder
rules.push({
// only include svg that doesn't have font in the path or file name by using negative lookahead
test: /(\.(png|jpe?g|gif|webp)$|^((?!font).)*\.svg$)/,
loaders: [
{
loader: 'file-loader',
options: {
name: path => {
if (!/node_modules|bower_components/.test(path)) {
return (
Config.fileLoaderDirs.images +
'/[name].[ext]?[hash]'
);
}
return (
Config.fileLoaderDirs.images +
'/' + //<--------------------- Remove vendor from image path
path
.replace(/\\/g, '/')
.replace(
/((.*(node_modules|bower_components))|images|image|img|assets)\//g,
''
) +
'?[hash]'
);
},
publicPath: Config.resourceRoot
}
},
{
loader: 'img-loader',
options: Config.imgLoaderOptions
}
]
});
// Add support for loading fonts.
rules.push({
test: /(\.(woff2?|ttf|eot|otf)$|font.*\.svg$)/,
loader: 'file-loader',
options: {
name: path => {
if (!/node_modules|bower_components/.test(path)) {
return Config.fileLoaderDirs.fonts + '/[name].[ext]?[hash]';
}
return (
Config.fileLoaderDirs.fonts +
'/' + //<------------------------- Remove vendo from font path
path
.replace(/\\/g, '/')
.replace(
/((.*(node_modules|bower_components))|fonts|font|assets)\//g,
''
) +
'?[hash]'
);
},
publicPath: Config.resourceRoot
}
});
После проекта pu sh в Heroku все работает нормально.
Если у кого-то есть или узнайте, почему в каталоге поставщиков возникла эта проблема, пожалуйста, объясните.
Спасибо за всех.